# coding=utf-8

import os
import pickle
import shutil
import sys

# urllib库不兼容Python2和Python3，对2和3版本进行区分
if sys.version[0] == '2':
    import urllib
    import urllib2
    from io import StringIO
elif sys.version[0] == '3':
    import urllib
    import urllib.parse

import datetime
import pymongo
from bson.objectid import ObjectId
import json


"""
判断存储内容是否为中文Chinese
"""
def isChinese(ustring):
    for item in ustring:
        try:
            if u'\u4e00' <= item <= u'\u9fff':
                return True
        except UnicodeDecodeError:
            return True
    return False


# MongoDB工具类
class MyMongoDBUtils():

    def __init__(self):
        pass


    '''
    获取二进制文件里的所有内容
    '''
    def getBinFile(filename):
        if not os.path.isfile(filename):
            print("ERROR: %s 不是一个有效的文件。" % (filename))
            return None

        f = open(filename, "rb")
        data = f.read()
        f.close()

        return data

    """
    将list列表序列化为二进制文件
    """

    def list2BinFile(my_list):
        # 通过写入二进制模式打开文件
        pickle_file = open('mylist_pkl.pkl', 'wb')

        # 序列化对象，将对象obj保存到文件file中去
        pickle.dump(my_list, pickle_file)
        # 关闭文件
        pickle_file.close()

        # 通过读取二进制模式打开文件
        pickle_file = open('mylist_pkl.pkl', 'rb')
        data = pickle_file.read()
        pickle_file.close()

        # 反序列化对象，将文件中的数据解析为一个python对象
        # my_list2 = pickle.load(pickle_file)

        # print(my_list2)

        return data

    """
    创建文件夹
    """

    def mkdir(path):
        folder = os.path.exists(path)

        if not folder:  # 判断是否存在文件夹如果不存在则创建为文件夹
            os.makedirs(path)  # makedirs 创建文件时如果路径不存在会创建这个路径
            print("---  新的文件夹...  ---")
            print("---  OK  ---")

        else:
            print("---  文件夹已存在!  ---")



    """
    删除文件夹
    """
    def rmdir(path):
        folder = os.path.exists(path)

        if folder:
            shutil.rmtree(path) # 删除目录及其所有内容
            print("---  文件夹删除...  ---")
            print("---  OK  ---")

        else:
            print("---  文件夹不存在!  ---")



    """
    创建usd文件
    """

    def create_usd(path, name, content):
        filename = path + '/' + name + '.usd'
        file = open(filename, 'wb')
        file.write(content)
        file.close()
        print(name + '已创建！')


    def delete_usd(path, name):
        filename = path + '/' + name + '.usd'
        os.remove(filename)








